<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>volatility.plugins.addrspaces.legacyintel.IA32PagedMemory : API documentation</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
    <link href="apidocs.css" type="text/css" rel="stylesheet" />
    
    
  </head>
  <body>
    <h1 class="class">v.p.a.l.IA32PagedMemory(<a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html">standard.AbstractWritablePagedMemory</a>, <a href="volatility.addrspace.BaseAddressSpace.html">addrspace.BaseAddressSpace</a>) : class documentation</h1>
    <p>
      <span id="part">Part of <a href="volatility.html">volatility</a>.<a href="volatility.plugins.html">plugins</a>.<a href="volatility.plugins.addrspaces.html">addrspaces</a>.<a href="volatility.plugins.addrspaces.legacyintel.html">legacyintel</a></span>
      
      <a href="classIndex.html#volatility.plugins.addrspaces.legacyintel.IA32PagedMemory">View In Hierarchy</a>
    </p>
    <div>
      <p>Known subclasses: <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></p>
    </div>
    <div>Legacy x86 non PAE address space (to use specify --use_old_as)</p>
<p>We accept an optional arg called dtb to force us to use a
specific dtb. If not provided, we try to find it from our base
AS, and failing that we search for it.<table class="fieldTable"></table></div>

    
    
    <div id="splitTables">
      <table class="children sortable" id="id1268">
  
  
<tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#__init__">__init__</a></td>
    <td><span>base is the AS we will be stacking on top of, opts are options which we may use.</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#is_valid_profile">is_valid_profile</a></td>
    <td><span>Determines whether a selected profile is compatible with this address space</span></td>
  </tr><tr class="staticmethod">
    
    
    <td>Static Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#register_options">register_options</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#load_dtb">load_dtb</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#entry_present">entry_present</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#page_size_flag">page_size_flag</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#pgd_index">pgd_index</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#get_pgd">get_pgd</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#pte_pfn">pte_pfn</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#pte_index">pte_index</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#get_pte">get_pte</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#get_paddr">get_paddr</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#get_four_meg_paddr">get_four_meg_paddr</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#vtop">vtop</a></td>
    <td><span>Abstract function that converts virtual (paged) addresses to physical addresses</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#read">read</a></td>
    <td><span>Read some data from a certain offset</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#zread">zread</a></td>
    <td><span>Read data from a certain offset padded with where data is not available</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#read_long_virt">read_long_virt</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#read_long_phys">read_long_phys</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.html#get_available_pages">get_available_pages</a></td>
    <td><span>A generator that returns (addr, size) for each of the virtual addresses present, sorted by offset</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html">AbstractWritablePagedMemory</a>:
        </p>
        <table class="children sortable" id="id1269">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html#write">write</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html#write_long_phys">write_long_phys</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html">AbstractPagedMemory</a> (via <a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html">AbstractWritablePagedMemory</a>):
        </p>
        <table class="children sortable" id="id1270">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#get_available_addresses">get_available_addresses</a></td>
    <td><span>A generator that returns (addr, size) for each valid address block</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#is_valid_address">is_valid_address</a></td>
    <td><span>Returns whether a virtual address is valid</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.addrspace.BaseAddressSpace.html">BaseAddressSpace</a> (via <a href="volatility.plugins.addrspaces.standard.AbstractWritablePagedMemory.html">AbstractWritablePagedMemory</a>, <a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html">AbstractPagedMemory</a>, <a href="volatility.addrspace.AbstractVirtualAddressSpace.html">AbstractVirtualAddressSpace</a>):
        </p>
        <table class="children sortable" id="id1271">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#get_config">get_config</a></td>
    <td><span>Returns the config object used by the vm for use in other vms</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#as_assert">as_assert</a></td>
    <td><span>Duplicate for the assert command (so that optimizations don't disable them)</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__eq__">__eq__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__ne__">__ne__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__getstate__">__getstate__</a></td>
    <td><span>Serialise this address space efficiently</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__setstate__">__setstate__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod private">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#_set_profile">_set_profile</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="volatility.addrspace.BaseAddressSpace.html">BaseAddressSpace</a>:
        </p>
        <table class="children sortable" id="id1272">
  
  
<tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#get_config">get_config</a></td>
    <td><span>Returns the config object used by the vm for use in other vms</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#as_assert">as_assert</a></td>
    <td><span>Duplicate for the assert command (so that optimizations don't disable them)</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__eq__">__eq__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__ne__">__ne__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#get_available_addresses">get_available_addresses</a></td>
    <td><span>Return a generator of address ranges as (offset, size) covered by this AS sorted by offset.</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#is_valid_address">is_valid_address</a></td>
    <td><span>Tell us if the address is valid</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#write">write</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__getstate__">__getstate__</a></td>
    <td><span>Serialise this address space efficiently</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#__setstate__">__setstate__</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="basemethod private">
    
    
    <td>Method</td>
    <td><a href="volatility.addrspace.BaseAddressSpace.html#_set_profile">_set_profile</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
      
    </div>
    
    
    

    <div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.__init__">
    
  </a>
  <a name="__init__">
    
  </a>
  <div class="functionHeader">
    
    def
    __init__(self, base, config, *args, dtb=0, **kwargs):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.AbstractVirtualAddressSpace.html#__init__">volatility.addrspace.AbstractVirtualAddressSpace.__init__</a></div><div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div>base is the AS we will be stacking on top of, opts are
options which we may use.<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.is_valid_profile">
    
  </a>
  <a name="is_valid_profile">
    
  </a>
  <div class="functionHeader">
    
    def
    is_valid_profile(self, profile):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#is_valid_profile">volatility.addrspace.BaseAddressSpace.is_valid_profile</a></div>
    <div>Determines whether a selected profile is compatible with this address space<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.register_options">
    
  </a>
  <a name="register_options">
    
  </a>
  <div class="functionHeader">
    @staticmethod<br />
    def
    register_options(config):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#register_options">volatility.addrspace.BaseAddressSpace.register_options</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.load_dtb">
    
  </a>
  <a name="load_dtb">
    
  </a>
  <div class="functionHeader">
    
    def
    load_dtb(self):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.entry_present">
    
  </a>
  <a name="entry_present">
    
  </a>
  <div class="functionHeader">
    
    def
    entry_present(self, entry):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.page_size_flag">
    
  </a>
  <a name="page_size_flag">
    
  </a>
  <div class="functionHeader">
    
    def
    page_size_flag(self, entry):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.pgd_index">
    
  </a>
  <a name="pgd_index">
    
  </a>
  <div class="functionHeader">
    
    def
    pgd_index(self, pgd):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.get_pgd">
    
  </a>
  <a name="get_pgd">
    
  </a>
  <div class="functionHeader">
    
    def
    get_pgd(self, vaddr):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.pte_pfn">
    
  </a>
  <a name="pte_pfn">
    
  </a>
  <div class="functionHeader">
    
    def
    pte_pfn(self, pte):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.pte_index">
    
  </a>
  <a name="pte_index">
    
  </a>
  <div class="functionHeader">
    
    def
    pte_index(self, pte):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.get_pte">
    
  </a>
  <a name="get_pte">
    
  </a>
  <div class="functionHeader">
    
    def
    get_pte(self, vaddr, pgd):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.get_paddr">
    
  </a>
  <a name="get_paddr">
    
  </a>
  <div class="functionHeader">
    
    def
    get_paddr(self, vaddr, pte):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.get_four_meg_paddr">
    
  </a>
  <a name="get_four_meg_paddr">
    
  </a>
  <div class="functionHeader">
    
    def
    get_four_meg_paddr(self, vaddr, pgd_entry):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.vtop">
    
  </a>
  <a name="vtop">
    
  </a>
  <div class="functionHeader">
    
    def
    vtop(self, vaddr):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#vtop">volatility.plugins.addrspaces.standard.AbstractPagedMemory.vtop</a></div><div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div>Abstract function that converts virtual (paged) addresses to physical addresses<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.read">
    
  </a>
  <a name="read">
    
  </a>
  <div class="functionHeader">
    
    def
    read(self, vaddr, length):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#read">volatility.addrspace.BaseAddressSpace.read</a></div>
    <div>Read some data from a certain offset<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.zread">
    
  </a>
  <a name="zread">
    
  </a>
  <div class="functionHeader">
    
    def
    zread(self, vaddr, length):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.addrspace.BaseAddressSpace.html#zread">volatility.addrspace.BaseAddressSpace.zread</a></div>
    <div>Read data from a certain offset padded with where data is not available<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.read_long_virt">
    
  </a>
  <a name="read_long_virt">
    
  </a>
  <div class="functionHeader">
    
    def
    read_long_virt(self, addr):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.read_long_phys">
    
  </a>
  <a name="read_long_phys">
    
  </a>
  <div class="functionHeader">
    
    def
    read_long_phys(self, addr):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div><div class="function">
  <a name="volatility.plugins.addrspaces.legacyintel.IA32PagedMemory.get_available_pages">
    
  </a>
  <a name="get_available_pages">
    
  </a>
  <div class="functionHeader">
    
    def
    get_available_pages(self):
    
  </div>
  <div class="functionBody">
    <div class="interfaceinfo">overrides <a href="volatility.plugins.addrspaces.standard.AbstractPagedMemory.html#get_available_pages">volatility.plugins.addrspaces.standard.AbstractPagedMemory.get_available_pages</a></div><div class="interfaceinfo">overridden in <a href="volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae.html">volatility.plugins.addrspaces.legacyintel.IA32PagedMemoryPae</a></div>
    <div>A generator that returns (addr, size) for each of the virtual addresses present, sorted by offset<table class="fieldTable"></table></div>
  </div>
</div>
    <address>
      <a href="index.html">API Documentation</a> for Volatility 2.2, generated by <a href="http://codespeak.net/~mwh/pydoctor/">pydoctor</a> at 2013-06-24 15:16:10.
    </address>
  </body>
</html>